package com.data.modules.online.cgreport.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import com.data.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;

@TableName("onl_cgreport_head")
public class OnlCgreportHead implements Serializable {
    private static final long serialVersionUID = 1;
    private String cgrSql;
    private String code;
    private String content;
    private String createBy;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    @Dict(dicCode = "code", dicText = "name", dictTable = "sys_data_source")
    private String dbSource;
    @TableId(type = IdType.ASSIGN_ID)

    private String id;
    private String lowAppId;
    private String name;
    private String returnTxtField;
    private String returnType;
    private String returnValField;
    private String updateBy;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;


    public boolean canEqual(Object other) {
        return other instanceof OnlCgreportHead;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof OnlCgreportHead)) {
            return false;
        }
        OnlCgreportHead onlCgreportHead = (OnlCgreportHead) o;
        if (!onlCgreportHead.canEqual(this)) {
            return false;
        }
        String id = getId();
        String id2 = onlCgreportHead.getId();
        if (id != null ? !id.equals(id2) : id2 != null) {
            return false;
        }
        String code2 = getCode();
        String code3 = onlCgreportHead.getCode();
        if (code2 != null ? !code2.equals(code3) : code3 != null) {
            return false;
        }
        String name2 = getName();
        String name3 = onlCgreportHead.getName();
        if (name2 != null ? !name2.equals(name3) : name3 != null) {
            return false;
        }
        String cgrSql2 = getCgrSql();
        String cgrSql3 = onlCgreportHead.getCgrSql();
        if (cgrSql2 != null ? !cgrSql2.equals(cgrSql3) : cgrSql3 != null) {
            return false;
        }
        String returnValField2 = getReturnValField();
        String returnValField3 = onlCgreportHead.getReturnValField();
        if (returnValField2 != null ? !returnValField2.equals(returnValField3) : returnValField3 != null) {
            return false;
        }
        String returnTxtField2 = getReturnTxtField();
        String returnTxtField3 = onlCgreportHead.getReturnTxtField();
        if (returnTxtField2 != null ? !returnTxtField2.equals(returnTxtField3) : returnTxtField3 != null) {
            return false;
        }
        String returnType2 = getReturnType();
        String returnType3 = onlCgreportHead.getReturnType();
        if (returnType2 != null ? !returnType2.equals(returnType3) : returnType3 != null) {
            return false;
        }
        String dbSource2 = getDbSource();
        String dbSource3 = onlCgreportHead.getDbSource();
        if (dbSource2 != null ? !dbSource2.equals(dbSource3) : dbSource3 != null) {
            return false;
        }
        String content2 = getContent();
        String content3 = onlCgreportHead.getContent();
        if (content2 != null ? !content2.equals(content3) : content3 != null) {
            return false;
        }
        String lowAppId2 = getLowAppId();
        String lowAppId3 = onlCgreportHead.getLowAppId();
        if (lowAppId2 != null ? !lowAppId2.equals(lowAppId3) : lowAppId3 != null) {
            return false;
        }
        Date updateTime2 = getUpdateTime();
        Date updateTime3 = onlCgreportHead.getUpdateTime();
        if (updateTime2 != null ? !updateTime2.equals(updateTime3) : updateTime3 != null) {
            return false;
        }
        String updateBy2 = getUpdateBy();
        String updateBy3 = onlCgreportHead.getUpdateBy();
        if (updateBy2 != null ? !updateBy2.equals(updateBy3) : updateBy3 != null) {
            return false;
        }
        Date createTime2 = getCreateTime();
        Date createTime3 = onlCgreportHead.getCreateTime();
        if (createTime2 != null ? !createTime2.equals(createTime3) : createTime3 != null) {
            return false;
        }
        String createBy2 = getCreateBy();
        String createBy3 = onlCgreportHead.getCreateBy();
        if (createBy2 == null) {
            if (createBy3 == null) {
                return true;
            }
        } else if (createBy2.equals(createBy3)) {
            return true;
        }
        return false;
    }

    @Override
    public int hashCode() {
        int i = 43;
        String id = getId();
        int hashCode = id == null ? 43 : id.hashCode();
        String code2 = getCode();
        int i2 = (hashCode + 59) * 59;
        int hashCode2 = code2 == null ? 43 : code2.hashCode();
        String name2 = getName();
        int i3 = (hashCode2 + i2) * 59;
        int hashCode3 = name2 == null ? 43 : name2.hashCode();
        String cgrSql2 = getCgrSql();
        int i4 = (hashCode3 + i3) * 59;
        int hashCode4 = cgrSql2 == null ? 43 : cgrSql2.hashCode();
        String returnValField2 = getReturnValField();
        int i5 = (hashCode4 + i4) * 59;
        int hashCode5 = returnValField2 == null ? 43 : returnValField2.hashCode();
        String returnTxtField2 = getReturnTxtField();
        int i6 = (hashCode5 + i5) * 59;
        int hashCode6 = returnTxtField2 == null ? 43 : returnTxtField2.hashCode();
        String returnType2 = getReturnType();
        int i7 = (hashCode6 + i6) * 59;
        int hashCode7 = returnType2 == null ? 43 : returnType2.hashCode();
        String dbSource2 = getDbSource();
        int i8 = (hashCode7 + i7) * 59;
        int hashCode8 = dbSource2 == null ? 43 : dbSource2.hashCode();
        String content2 = getContent();
        int i9 = (hashCode8 + i8) * 59;
        int hashCode9 = content2 == null ? 43 : content2.hashCode();
        String lowAppId2 = getLowAppId();
        int i10 = (hashCode9 + i9) * 59;
        int hashCode10 = lowAppId2 == null ? 43 : lowAppId2.hashCode();
        Date updateTime2 = getUpdateTime();
        int i11 = (hashCode10 + i10) * 59;
        int hashCode11 = updateTime2 == null ? 43 : updateTime2.hashCode();
        String updateBy2 = getUpdateBy();
        int i12 = (hashCode11 + i11) * 59;
        int hashCode12 = updateBy2 == null ? 43 : updateBy2.hashCode();
        Date createTime2 = getCreateTime();
        int i13 = (hashCode12 + i12) * 59;
        int hashCode13 = createTime2 == null ? 43 : createTime2.hashCode();
        String createBy2 = getCreateBy();
        int i14 = (hashCode13 + i13) * 59;
        if (createBy2 != null) {
            i = createBy2.hashCode();
        }
        return i14 + i;
    }

    public void setCgrSql(String cgrSql2) {
        this.cgrSql = cgrSql2;
    }

    public void setCode(String code2) {
        this.code = code2;
    }

    public void setContent(String content2) {
        this.content = content2;
    }

    public void setCreateBy(String createBy2) {
        this.createBy = createBy2;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setCreateTime(Date createTime2) {
        this.createTime = createTime2;
    }

    public void setDbSource(String dbSource2) {
        this.dbSource = dbSource2;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setLowAppId(String lowAppId2) {
        this.lowAppId = lowAppId2;
    }

    public void setName(String name2) {
        this.name = name2;
    }

    public void setReturnTxtField(String returnTxtField2) {
        this.returnTxtField = returnTxtField2;
    }

    public void setReturnType(String returnType2) {
        this.returnType = returnType2;
    }

    public void setReturnValField(String returnValField2) {
        this.returnValField = returnValField2;
    }

    public void setUpdateBy(String updateBy2) {
        this.updateBy = updateBy2;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public void setUpdateTime(Date updateTime2) {
        this.updateTime = updateTime2;
    }

    @Override
    public String toString() {
        return "OnlCgreportHead(id=" + getId() + ", code=" + getCode() + ", name=" + getName() + ", cgrSql=" + getCgrSql() + ", returnValField=" + getReturnValField() + ", returnTxtField=" + getReturnTxtField() + ", returnType=" + getReturnType() + ", dbSource=" + getDbSource() + ", content=" + getContent() + ", lowAppId=" + getLowAppId() + ", updateTime=" + getUpdateTime() + ", updateBy=" + getUpdateBy() + ", createTime=" + getCreateTime() + ", createBy=" + getCreateBy() + ")";
    }

    public String getId() {
        return this.id;
    }

    public String getCode() {
        return this.code;
    }

    public String getName() {
        return this.name;
    }

    public String getCgrSql() {
        return this.cgrSql;
    }

    public String getReturnValField() {
        return this.returnValField;
    }

    public String getReturnTxtField() {
        return this.returnTxtField;
    }

    public String getReturnType() {
        return this.returnType;
    }

    public String getDbSource() {
        return this.dbSource;
    }

    public String getContent() {
        return this.content;
    }

    public String getLowAppId() {
        return this.lowAppId;
    }

    public Date getUpdateTime() {
        return this.updateTime;
    }

    public String getUpdateBy() {
        return this.updateBy;
    }

    public Date getCreateTime() {
        return this.createTime;
    }

    public String getCreateBy() {
        return this.createBy;
    }
}
